1. Technical Field
This application relates generally to managing computer services in a timely and economical manner. More specifically, the application relates to monitoring traffic to a group of servers in order to detect when one or more of the servers is not carrying its expected load.
2. Description of Related Art
When configuring any type of computer system, it is important to match the resources to the desired result. Too little in the way of allocated computing resources can mean slow responses, customer dissatisfaction, and a generally poor result. However, allocating too many resources can be wasteful and impact the bottom line of the business. Therefore, getting a good match between the application and the actual capabilities of the respective resources is critical to the financial success of a system. This can be especially true in provisioning systems, where computer resources are provided to and shared among customers and profitability depends heavily on the best use of these resources. However, despite the best efforts in configuring the computer system, the capabilities of the resources are not always fully utilized in the actual real-time situation and may differ from the design configuration in ways that are difficult to discern. For example, popular websites may publish a single address for access, but use this address only for a server that forwards requests to one of a number of transaction servers that manage the actual interaction. Existing programs distribute requests to the various transaction servers, but situations can arise in which these programs do not have all the information they need or the capability to correct the problem.
An example can illustrate. A news service provides a web address that can be contacted for breaking news. This address points to a single web server, which directs the incoming requests to a group of five to ten servers, which is capable of serving the normal load. However, during a major disaster, such as the terrorist attack on the twin towers, the news service can be inundated with requests. Use of a provisioning service, which specializes in providing information technology services very quickly, allows the news service to tie into additional servers for handling the unexpected load, with new requests being diverted to the additional servers. However, according to protocol, the server that first handles a request from a given user continues to handle that request during the entire transaction, so that a large number of users can remain on the original servers, competing for limited bandwidth, even though there are other servers that could provide better service. The existing system may not have the capability to track the number of users accessing a site or to check that the servers, both original and those recently allocated, are being equally utilized.
On the other end of the usage spectrum, a large server with a high capacity may not be utilizing nearly all of its capability, yet the possibility exists that this is not clearly recognized by system management software, since no data is available to track usage. In the past, this information has most frequently been discovered in a post-mortem on a project during failure analysis.
Therefore, it would be desirable to have a mechanism by which an approximation of the usage of the servers could be tracked, so that an imbalance could be noted and corrected.